package com.example.anliku.entity;

import com.example.anliku.Utils.RedisUtil;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import javax.annotation.Resource;
import java.io.Serializable;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

/**
 * @author ClayeLink
 * @date 2021/2/22 11:55
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "com-example-anliku-entity-ExampleForES")
public class ExampleForES implements Serializable{


    private static final long serialVersionUID = 1L;

    /**
     * 案例id
     */
    @ApiModelProperty(value = "案例id")
    private Integer exampleId;

    /**
     * 案例名称
     */
    @ApiModelProperty(value = "案例名称")
    private String exampleName;

    /**
     * 案例发起时间
     */
    @ApiModelProperty(value = "案例发起时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date exampleStartTime;


    /**
     * 案例状态
     * -1：驳回
     * 0：待审核
     * 1：审核通过
     */
    @ApiModelProperty(value = "案例状态,-1：驳回,0：待审核,1：审核通过")
    private Integer exampleState;

    /**
     * 案例类别名称
     */
    @ApiModelProperty(value = "案例类别名称")
    private String exampleTypeName;

    /**
     * 案例知识点id 被废除 , 现存 exampleKnowledge list 的 JSON字符串
     */
    @ApiModelProperty(value = "案例知识点")
    private String exampleKnowledgeId;

    /**
     * 案例课程名称,被废除 现存 exampleClazz list 的 JSON字符串
     */
    @ApiModelProperty(value = "案例课程名称")
    private String exampleClazz;

    /**
     * 案例封面图片
     */
    @ApiModelProperty(value = "案例封面图片")
    private String exampleImage;

    /**
     * 案例介绍
     */
    @ApiModelProperty(value = "案例介绍")
    private String exampleIntroduction;

    /**
     * 案例贡献者姓名
     */
    @ApiModelProperty(value = "案例贡献者姓名")
    private String exampleUserName;

    /**
     * 案例是否为公开库
     * 0：不公开
     * 1：公开
     */
    @ApiModelProperty(value = "案例是否为公开库,0：不公开,1：公开")
    private Integer examplePublicState;

    /**
     * 案例下载数量
     */
    @ApiModelProperty(value = "案例下载数量")
    private Integer exampleDownload;


}
